package form.ui.css
{
	import form.ui.Color.RGBA;
	import form.ui.core.FMSprite;

	public class SlideCSS extends CSS
	{
		private var _thumbUpSkin:String;
		private var _thumbOverSkin:String;
		private var _thumbDownSkin:String;
		private var _thumbDisableSkin:String;
		
		private var _progressColor:String;
		private var _progressColorObject:RGBA;
		private var _highLightColor:String;
		private var _highLightColorObject:RGBA;
		
		public function SlideCSS(owner:FMSprite)
		{
			super(owner);
		}
		
		override public function imitate(css:CSS):CSS
		{
			var n:SlideCSS = super.imitate(css) as SlideCSS;
			n._thumbUpSkin = _thumbUpSkin;
			n._thumbOverSkin = _thumbOverSkin;
			n._thumbDownSkin = _thumbDownSkin;
			n._thumbDisableSkin = _thumbDisableSkin;
			n._progressColor = _progressColor;
			n._highLightColor = _highLightColor;
			n._progressColorObject = _progressColorObject.clone();
			n._highLightColorObject = _highLightColorObject.clone();
			return n;
		}
		
		override public function clear():void
		{
			super.clear();
			this._thumbUpSkin = null;
			this._thumbOverSkin = null;
			this._thumbDownSkin = null;
			this._thumbDisableSkin = null;
			this._progressColor = null;
			this._progressColorObject = new RGBA(0xFF, 0xCC, 0x0);
			this._highLightColor = null;
			this._highLightColorObject = new RGBA(0xFF, 0xFF, 0xFF);
		}
		public function get progressColor():String
		{
			return _progressColor;
		}
		public function set progressColor(value:String):void
		{
			_progressColor = value;
			_progressColorObject.fromString(this.progressColor);
		}
		
		public function get highLightColor():String
		{
			return _highLightColor;
		}
		public function set highLightColor(value:String):void
		{
			_highLightColor = value;
			_highLightColorObject.fromString(this.progressColor);
		}
		
		public function get progressColorObject():RGBA
		{
			return _progressColorObject;
		}
		
		
		public function get highLightColorObject():RGBA
		{
			return _highLightColorObject;
		}
		
		
		public function get thumbUpSkin():String
		{
			return _thumbUpSkin;
		}
		public function set thumbUpSkin(value:String):void
		{
			_thumbUpSkin = value;
			if(owner.hasRegistedStyle("thumbUpSkin")) owner.registerStyle("thumbUpSkin", thumbUpSkin);
		}
		
		public function get thumbOverSkin():String
		{
			return _thumbOverSkin;
		}
		public function set thumbOverSkin(value:String):void
		{
			_thumbOverSkin = value;
			if(owner.hasRegistedStyle("thumbOverSkin")) owner.registerStyle("thumbOverSkin", thumbOverSkin);
		}
		
		public function get thumbDownSkin():String
		{
			return _thumbDownSkin;
		}
		public function set thumbDownSkin(value:String):void
		{
			_thumbDownSkin = value;
			if(owner.hasRegistedStyle("thumbDownSkin")) owner.registerStyle("thumbDownSkin", thumbDownSkin);
		}
		
		public function get thumbDisableSkin():String
		{
			return _thumbDisableSkin;
		}
		public function set thumbDisableSkin(value:String):void
		{
			_thumbDisableSkin = value;
			if(owner.hasRegistedStyle("thumbDisableSkin")) owner.registerStyle("thumbDisableSkin", thumbDisableSkin);
		}

	}
}